
word embedding：
     Embed这个词，英文的释义为, fix (an object) firmly and deeply in a surrounding mass, 也就是“嵌入”之意.Word Embedding并不是要把单词像贴瓷砖那样镶嵌进什么地方。最简单的一种Word Embedding方法，就是基于词袋（BOW）的One-Hot表示。这种方法，把词汇表中的词排成一列，对于某个单词 A，如果它出现在上述词汇序列中的位置为 k，那么它的向量表示就是“第 k 位为1，其他位置都为0 ”的一个向量。这种one-hot方法，对于知道所有的单词的情况下才比较有效果，对于词语本身有无限种组合的情况下基本上是无效的，由此可以看出one-hot的缺点：
     1）它没有考虑单词之间相对位置的关系；
     2）词向量可能非常非常长
     所以这个时候就需要用到word2vec这样的方法，解决上述缺点，同时word2vec的优点：
     1）单词语义相似性的度量；
     2）词汇的语义的类比。
     并且有于是高维的，缩短了词向量长度，每一个维度就是一个语义。

RNN
    Dropout只能是层与层之间（输入层与LSTM1层、LSTM1层与LSTM2层）的Dropout；同一个层里面，T时刻与T+1时刻是不会Dropout的。
    本次的训练主要用到了三个文件：util生成batch和label，这里进行了数据的处理；model提供了训练方法，搭建了框架，这个框架是多层的，并且具有dropout，由官方api写出了框架之后，将batch和label提供给train的字典，然后由util中的方法得以保存，训练进行了很长时间，我将代码修改了一下，这样一次运行可以有10个循环，也就是一次进行10个epoch。
    最后进行了24w+步的训练，得到的结果只能说是输出了语句，但是不能称之为诗歌，后续打算尝试https://www.sohu.com/a/140840894_717210这个网址里提供的更先进的方法。
    不过，无论怎样，目前的方法都是根据词之间的可能的关系进行的训练，而不能体现出人类情感，更像是给定一个随机数种子，由得到的第一个字联想其后可能出现的文字，而不是要表达什么更深层次的东西，所以写出来的东西无论怎样，都是没什么实际意义的。

曾经遇到的bug：
    1\syntaxError:invalid syntax
      这个出现在train这个文件的11行，原因似乎是上一行缺少了）
    2\ValueError：Both labels and logits must be provided
      这个出现在train文件的34行，原因是源代码中没有写入logit参数
    3\IndentationError:expected an indented block
      这个出现在train文件的第10行，原因是缺少了合理的缩进
    4\ValueError:Could not flatten dicitionary:key Tensor("rnn/MultiRNNCellZeroState/Dropout....",shape(3,128).dtype=float32) is not unique
      这个出现在train文件的70行，原因似乎是tf版本问题，我使用的是tf1.5.0,换回1.4.0就好了，和别人交流发现使用tf1.8也是可以的，不知道中间的其他版本是不是也可以。
    5\最后使用sample这个文件进行写词的时候，出现了乱码，关闭终端，重新运行此文件就可以正常显示了。
